package org.wdcode.base.helper;

import java.util.List;
import java.util.Map;

import org.wdcode.base.bean.EntityBean;
import org.wdcode.base.cache.DBEntityCache;

/**
 * 继承Entity实体的缓存操作助手类的接口
 * @author WD
 * @since JDK6
 * @version 1.0 2009-11-23
 */
public interface EntityCacheHelper<C extends DBEntityCache<E>, E extends EntityBean> extends EntityHelper<E> {
	/**
	 * 根据ID获得实体
	 * @param id 实体ID
	 * @return 实体
	 */
	E get(int id);

	/**
	 * 根据实体ID获得实体名
	 * @param id 实体ID
	 * @return 实体名
	 */
	String getName(int id);

	/**
	 * 获得实体列表
	 * @return 实体列表
	 */
	List<E> getList();

	/**
	 * 获得实体键列表
	 * @return 实体列表
	 */
	List<Integer> getKeys();

	/**
	 * 获得全部缓存
	 * @return 全部缓存
	 */
	Map<Integer, E> getCaches();

	/**
	 * 获得缓存
	 * @return 缓存
	 */
	C getCache();

	/**
	 * 设置缓存
	 * @param cache 缓存
	 */
	void setCache(C cache);
}
